#! /bin/bash

#当前目录
host_dir=/home/mingen
#tomcat进程所在目录
proc_name=$host_dir/debug/cuckoo/apache-tomcat-8.5.45
#日志文件
file_name=$proc_name/logs/monitor.log
#当前进程号
pid=0

#计算进程数(进程是否存在)
proc_num(){
	num=`ps -ef | grep $proc_name | grep -v grep | wc -l`
	return $num	
}

#获取进程号
proc_id(){
	pid=`ps -ef | grep $proc_name | grep -v grep | awk '{print $2}'`
}

#获取旧的进程号
proc_id
#通过curl模拟接口获取http_code
http_code=`curl -I -s -w "%{http_code}" -o -d /dev/null http://183.134.61.180:8086/mingen/wallet/getRechargeMoneyByConfig | head -n 1 | cut -d$' ' -f2`  


proc_num
number=$?

echo $number
echo $http_code
echo $pid

#如果进程存在或者http请求失败，则先kill进程
if [[ $number -ne 0 ]] || [[ $http_code -ne 200 ]]
	then
		kill -9 pid
		sleep 3
fi

#重启进程
#切换到进程所在目录
cd $proc_name/bin
#重启进程命令
nohup ./startup.sh > ../logs/urp.log 2>&1 & 
#延迟3s是为了确保进程已正常启动并方便获取pid，否则有可能获取不到pid
sleep 3
#获取新进程号
proc_id
#将新进程号和重启时间记录
echo $pid, `date` >> $file_name

		